#ifndef TABVIEW_H_INCLUDED
#define TABVIEW_H_INCLUDED

#include "song.h"
#include "engine.h"
using namespace std;

class engine;

class tabView : public wxWindow {
  public:
    // functions
    tabView(wxWindow *parent, song *theSongInit, engine *theEngineInit);
    virtual ~tabView();
    void doUpdate();
    void handleScollBar();
    void resizeScrollBar();
    // variables
    song            *theSong;
    engine          *theEngine;
    wxTextCtrl      *theLog;
    wxScrollBar     *theScrollBar;
    wxGauge         *theGauge;
  private:
    DECLARE_EVENT_TABLE()
    // event handlers
    void OnEraseBackground(wxEraseEvent& WXUNUSED(event));
    void OnPaint(wxPaintEvent& event);
    void OnSize(wxSizeEvent& event);
    // variables
    int width, height;
    float offset;
    wxImage imageGKey;
    wxImage imageNote16Up, imageNote8Up, imageNote4Up, imageNote2Up, imageNote1Up,
            imageNote16Down, imageNote8Down, imageNote4Down, imageNote2Down, imageNote1Down,
            imageRest4, imageRest8, imageRest16;
};

#endif // TABVIEW_H_INCLUDED
